在去年寫了"菜鳥AI工程師給碩班學弟妹的挑戰" 這一系列的文章,在當中介紹了 pytorch lightning 框架及實作,放到現在我依然覺得很適合學習,如果有興趣可以看看~
前陣子在公司滿三年,準備邁入第四年,過去這一年 AI 發展其實遠比我想像中快很多(光是ASR TTS相關論文每天幾乎一篇),然後看身邊一些同事開始重度使用 AI 或做 vibe coding,但我覺得有好有壞,好是好在快速,當你要做的東西不難,可以在短短幾小時就完成,但壞就壞在太難太新的就沒辦法做到,當你都不動手寫 code 一段時間,我只能說很恐怖,會開始漸漸喪失寫 code 和 debug 的能力,所以才有這系列登場,整理自己過去這四五個月來學習的筆記,透過寫文章讓自己加深印象,並且希望可以幫到剛開始學習的小白或者想要更進一步的人。
看完上面的目標其實就是 LLM 的每個部份,所以會先跑起一個簡單 LLM 的訓練,然後再看每一個 block 是怎麼寫出來的,講解觀念及實作,當你學會了觀念,你可以套用在你想訓練的模型,把你的模型改得更好,這裡舉一個我自己最近實作的例子。
ex: 目前主流 ASR (https://huggingface.co/spaces/hf-audio/open_asr_leaderboard) (不考慮 ASR + LLM) 不外乎就 whisper, canary, parakeet, zipformer,以 nemo 的 canary 跟 parakeet 為例都是採用 fastconformer 當作 encoder,當中是用 multi-head attention,那就會想說有很多其他 attention 效果差不多但速度更快,這樣能不能替換掉原本的讓模型更好呢??
在開始正式文章,這邊先複習一下 uv,我現在都用 uv 取代 pip,剩下就明天見拉~
# 下載 uv
pip install uv
# 建立虛擬環境
uv venv
# 進入虛擬環境
.venv\Scripts\activate # win
source .venv\bin\activate # linux
# 安裝 package
uv pip install <package>
# 如果有 requirements
uv pip install -r requirements.txt
# 如果是想建立一個專案
uv init # 會幫你產出 main.py pyproject.toml README.md
uv add <package> # 記錄在 pyproject.toml